package com.liu.sx.decode;

import com.liu.sx.pojo.BW;
import com.liu.sx.util.BwUtil;
import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;
import lombok.extern.slf4j.Slf4j;

import java.util.Arrays;


/**
 * 十六进制数   十进制数   命令功能
 * 0x01           1          设置设备地址
 * 0x02           2          设置服务器通信参数
 * 0x03           3          设置上报时间
 * 0x04           4           设置实时时钟
 * 0x05           5          设置统计间隔（单位分钟）
 * 0x06           6           设置电量报警下限
 * 0x10          16           回复  1：确认 0：否认，下行确认
 * -------------------------------------------------------------------
 * 0x20           32       登录
 * 0x21          33        上报电量报警数值
 * 0x22          34        上报数据
 */
@Slf4j
public class MyEncodeUp extends MessageToByteEncoder<BW> {



    @Override
    protected void encode(ChannelHandlerContext channelHandlerContext, BW message, ByteBuf out) throws Exception {
        byte [] bw = BwUtil.Object2byte(message);

        log.info("send bw  is ：{}",Arrays.toString(bw));
        out.writeBytes(bw);

    }
}
